package game.actor
{
	import engine.core.*;
	
	public class RxAnimLabels extends Object
	{
		private static var s_animSuite:Array = new Array();
		private static var s_anim:Array = new Array();
		
		public function RxAnimLabels()
		{
			return;
		}
		
		public static function ParseAnimationTable(param1:XML) : void
		{
			var _loc_2:Array = null;
			var _loc_3:XML = null;
			var _loc_4:String = null;
			var _loc_5:XML = null;
			for each (_loc_3 in param1.animSuite)
			{
				
				_loc_4 = _loc_3.@name;
				_loc_2 = new Array();
				_loc_2["normal"] = CreateAnimSuite(_loc_3);
				for each (_loc_5 in _loc_3.Stance)
				{
					
					_loc_2[_loc_5.@name] = CreateAnimSuite(_loc_5);
				}
				s_animSuite[_loc_4] = _loc_2;
			}
		}
		
		private static function CreateAnimSuite(param1:XML) : Array
		{
			var _loc_3:XML = null;
			var _loc_4:Object = null;
			var _loc_5:String = null;
			var _loc_6:String = null;
			var _loc_7:int = 0;
			var _loc_8:Number = NaN;
			var _loc_2:* = new Array();
			for each (_loc_3 in param1.AnimClip)
			{
				
				_loc_4 = new Object();
				_loc_5 = _loc_3.@name;
				_loc_6 = _loc_3.@actionmap;
				_loc_7 = _loc_3.@loop;
				_loc_8 = _loc_3.@length;
				_loc_4.name = _loc_5;
				_loc_4.actionMap = _loc_6;
				_loc_4.loop = _loc_7;
				_loc_4.len = _loc_8;
				if (_loc_2[_loc_6] == null)
				{
					_loc_2[_loc_6] = new Array();
				}
				else if (_loc_6 != "idle" && _loc_6 != "ncidle" && _loc_6 != "death" && _loc_6 != "run" && _loc_6 != "walk" && _loc_6 != "deathidle" && _loc_6 != "knockbackloop" && _loc_6 != "point")
				{
					if (_loc_2[_loc_6][0].loop != _loc_4.loop)
					{
						RxLog.Warning("*** Duplicate anims should have same loop setting (actionMap = " + _loc_6 + "): " + _loc_4.name + "(" + _loc_4.loop + ") != " + _loc_2[_loc_6][0].name + "(" + _loc_2[_loc_6][0].loop + ")");
					}
					if (_loc_2[_loc_6][0].len != _loc_4.len)
					{
						RxLog.Warning("*** Duplicate anims should have same length (actionMap = " + _loc_6 + "): " + _loc_4.name + "(" + _loc_4.len + ") != " + _loc_2[_loc_6][0].name + "(" + _loc_2[_loc_6][0].len + ")");
					}
				}
				_loc_2[_loc_6].push(_loc_4);
				s_anim[_loc_5] = _loc_4;
			}
			return _loc_2;
		}
	}
}